package com.navinfo.platform.dataanalysis;

import com.navinfo.platform.common.dto.BaseApplication;
import com.navinfo.platform.common.service.IDataHandleService;
import com.navinfo.platform.common.service.ILoadDataService;
import com.navinfo.platform.dataanalysis.service.impl.StatisticsLoadDataService;
import com.navinfo.platform.dataanalysis.service.impl.WeekAndMonthStatisticsService;

/***
 * 周或月统计
 * 【
 *   执行时传入两个参数，第一个是日期格式为：20181128，第二个是类型：0代表周，1代表月
 *   例子：20181203 0   意为：对2018年12月03日所在周的信息进行汇总等统计后保存至hdfs周表中
 *        20181205 0   意为：对2018年12月03日所在周的信息进行汇总等统计后保存至hdfs周表中
 *        20181210 1   意为：对2018年12月的信息进行汇总等统计后保存至hdfs月表中
 *        20181201 1   意为：对2018年12月的信息进行汇总等统计后保存至hdfs月表中
 *  】
 * @author wangshuai
 */
public class WeekAndMonthApplication extends BaseApplication {

    /***
     * 指定配置文件的地址
     * @return
     */
    @Override
    public String getFileName() {
        return "config/dataanalysis/dataanalysis.properties";
    }

    /***
     * 实现一个处理业务逻辑的类
     * @return
     */
    @Override
    public IDataHandleService getDataHandleService() {
        return WeekAndMonthStatisticsService.INSTANCE;
    }

    /***
     * 实现一个加载数据的类
     * @return
     */
    @Override
    public ILoadDataService getLoadDataService() {
        return StatisticsLoadDataService.INSTANCE;
    }

    public static void main(String[] args) {
        new WeekAndMonthApplication().start(args);
    }
}
